<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //1.集合set :  set 数据里的值不能重复,是对象的键名
        //可以是任意类型

        //创建set
        // let set = new Set();
        // set.add(1);
        // set.add(2);
        // console.log(set); //{1,2}

        //
        // let set = new Set([1, 2, 3]);
        // console.log(set);  //{1, 2, 3}

        // let set=new Set([1,2,3,2,4,2,3,{name:"张"},{name:"张"}]);
        // console.log(set);// {1, 2, 3, 4, {name:"张"}, {name:"张"}}




        //set 方法
        // let set = new Set([1, 2, 3]);

        //1.统计长度 size 
        // console.log(set.size); //3

        //2.添加键值 add
        // set.add(4);
        // console.log(set); // {1,2,3,4}

        //3.删除 delete 删除指定元素
        // set.delete(2);
        // console.log(set); // {1,3,4}

        //4.clear  清除(删除所有元素)
        // set.clear();
        // console.log(set); // {}

        //5.keys 和 values
        //keys 是values 的一个别名
        // var res = set.keys();
        // console.log(res); //{1, 2, 3}
        // var res = set.values();
        // console.log(res); //{1, 2, 3}

        //6.has 判断set 是否有某个值
        // let set = new Set([1, 2, 3, 4]);
        // console.log(set.has(2)); // true




        //数组去重
        // let arr = [1, 1, 2, 3, 4, 5];
        // let set = new Set(arr);;
        // console.log(set); // {1, 2, 3, 4, 5}
        // let newarr = [...set];
        // console.log(newarr); // [1, 2, 3, 4, 5]

        var str = "abcddeefff";
        let arr = [...str];
        let set = new Set(arr);
        let newarr = [...set];
        let newstr = newarr.join("");
        console.log(newarr); //  ['a', 'b', 'c', 'd', 'e', 'f']
        console.log(newstr); // abcdef
    </script>
</body>

</html>